home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / dev / cross / GBDK-2.0.lha / GBDK / lib / memset.s < prev    next >
Text File  |  1998-10-01  |  497b  |  42 lines

  1.     .include    "global.s"
  2.  
  3.     .area    _CODE
  4.  
  5.     ;; Set memory zone
  6.     ;; 
  7.     ;; Entry conditions
  8.     ;;   A,B = value
  9.     ;;   DE = length
  10.     ;;   HL = destination
  11.     ;; 
  12.     ;; Register used: AF, B, DE, HL
  13. .memset::
  14. 1$:
  15.     LD    A,B
  16.     LD    (HL+),A
  17.     DEC    DE
  18.     LD    A,D
  19.     OR    E
  20.     JR    NZ,1$
  21.     RET
  22.  
  23. _memset::
  24.     PUSH    BC
  25.  
  26.     LDA    HL,8(SP)    ; Skip return address and registers
  27.     LD    D,(HL)        ; DE = n
  28.     DEC    HL
  29.     LD    E,(HL)
  30.     DEC    HL
  31.     LD    B,(HL)        ; B = c
  32.     DEC    HL
  33.     LD    A,(HL-)        ; HL = s1
  34.     LD    L,(HL)
  35.     LD    H,A
  36.     PUSH    HL
  37.     CALL    .memset
  38.     POP    DE        ; Return s1
  39.  
  40.     POP    BC
  41.     RET
  42.